#ifndef H_ACTIVE_CURVE
#define H_ACTIVE_CURVE

#include "sharedStructure.hpp"
#include "imgData.h"


class activeCurve{

public:
	activeCurve();
	~activeCurve();
	bool initial(imgData *p_image);
	bool drawDeformedLine(line max_line, float *canvas);
	void release();

private: 
	void arcShift(); 
	void storeShift();
	void draw(float *symo, int x0, int y0, int ind, float w);
	float shiftmax(int i, int ind, int x, int y, int *rm);
	void deformAndDraw();
	
	
       int  initialized;        
	
	int nOrient,nAngle,nLength;
	int h; /*half gabor filter size*/
	int **startDx,**startDy;
	int **endDx, **endDy;
	int **startO,**endO;
	int **sinsh,**cossh;

	int sx,sy;
	int Lrange,Orange;



	float **S1map;
	float **allsymbol;
	
	float imaxi[5];
	float *sym;
};
 
#endif
